Operador Ternário
O operador ternário é uma forma compacta de escrever uma estrutura condicional if-else em Java (e em várias outras linguagens). Ele foi criado para
substitui a estrutura if else que tem o seguinte comportamento:
double valor;
double desconto;
if (valor >= 40.6) {
desconto = 0.05;
} else {
desconto = 0.02;
}
Note que neste código estamos querendo atribuir um determinado valor à variável desconto baseado em critério. Se o resultado for verdadeiro da condição atribuímos o valor 0.05 caso contrário atribuímos o valor 0.02. O operador ternário só poderá ser utilizado em situações como esta, onde queremos atribuir um valor caso verdadeiro a uma variável ou outro valor na mesma variável em caso falso:
O trecho de código ficaria assim:
double valor; double desconto; desconto = (valor > 40.6)? 0.05 : 0.02;
A sintaxe é esta:
variavel = (expressao_a_ser_avaliada) ? resultado_quando_verdadeiro : resultado_quando_falso;